MASA Stack 第三期社区例会
MASA Blazor 0.5.0发版内容
功能
Autocomplete:支持通过设置AutoSelectFirst参数开启自动选择第一项的功能,支持CacheItems参数,增强使用上下键的用户体验。
BottomNavigation::一个替代侧边栏的新组件。它主要用于移动应用程序。
DragZone:一个基于Sorttable.js实现拖放功能的新组件。
**Form **: FluentValidation 支持依赖注入,验证消息支持i18n。
i18n : 组件库支持本地化,增强了文档的本地化。
Markdown:支持通过设置 Readonly 开启只读。
Modal:支持通过插槽设置自定义标题内容和关闭内容。
Select/Autocomplete:添加按下 Escape、Space、Home、End 键的逻辑。
破坏性更新
i18n:将使用 i18n 的 api 更改为services.AddMasaBlazor().AddI18nForServer().
CSS:合并masa-blazor.css和masa-extend-blazor.css到masa-blazor.min.css.
问题修复
Breakpoint:修复 MasaBlazor.Breakpoint.Mobile首次不工作的问题。 DataTable:将FooterProps参数设置为强类型,如果FilterProps.ItemsPerPageOptions为空时不渲染页数选择元素。 DataTable:FixedRight 和 FixedHeader 同时使用时出现UI错误。
Dialog:复滚动如果对话框已显示并将要释放时。
Divider :修复在某些场景分割线无法显示的问题,比如在Stepper中使用时。
ErrorHandler:修复生命周期中的异常仍然循环抛出的问题。
ListGroup:如果append-icon为空是不渲染该元素,prepend-icon同理。
Markdown:修复 Readonly 拼写错误,将token移动到请求头。
NavigationDrawer:修复当触发点击事件时 MiniVariant 设置为false的逻辑错误问题。
Select:增强用户使用体验,修复#391和#332。
Stepper:修复在处理时引用可能为空的问题。
Switch/Checkbox:修复 OnChange 事件无法触发的问题 #489。
TimelineItem:修复 Left 和 Value、AutoGrow、RowHeight参数值改变后,重新计算输入高度。 参数不起作用的问题。
Textarea:在Value、AutoGrow或 RowHeight 参数更改后重新计算输入高度。
TextField:修复对话框中 AutoFocus 不起作用。
Transition:修复LeaveAbolute 在 ToogleableTransftionElement 中不起作用。
Treeview:修复了Items更改时树节点没有更新的问题。重构i18n:重命名language为culture.文档
ExpansionPanels:使用新的过渡组件更新高级示例。
CSS:masa-extend-blazor.css不应包含文档的样式。
WebAssembly:最小化应用程序下载大小,更新首屏加载动画。
信息来源:https://github.com/BlazorComponent/MASA.Blazor/releases/tag/
0.5.0MASA Framework 0.5.0内容发版
修复
BugConfiguration.Dcc: 修复获取节点错误 #85
Storage.Aliyun: 修复基于配置文件的上传出错#87
EntityFramework: 修复使用MySql错误#108, 修复使用软删除过滤由于嵌套引用导致删除失败#144
EventBus: 修改错误提示信息地址#105
DomainEventBus: 修复聚合根添加领域事件执行顺序错误#120 #135
AutoComplete: 修复搜索匹配不到的问题#136 #139 #140 #149
Dispatcher: 修复部分事件(未继承ITranscation的事件)发布时,当Handler存在嵌套发布事件时,事务中间件会被多次执行的问题#146, 修复EventBus多次发布事件,第二次发布事件不会自动持久化#153
重命名
Masa.Contrib.BasicAbility.Dcc重命名为Masa.Contrib.Configuration.ConfigurationApi.Dcc#96
功能
IdGenerator: 添加 IdGenerator.SimpleGuid 和IdGenerator.SequentialGuid和 IdGenerator.Snowflake #76 #83 #87 #97 #115 #121 #124
Auth: 为团队和权限添加 sdk 方法 #77 #80, 更新 auth sdk 身份 #84 #98 #117 #141 添加 Auth.Contracts#104 #113 新增修改用户数据 #157 #160 #162
OIDC:添加Oidc.EntityFramework、Oidc.Cache.Storage#78 #93 #109
IdentityModel: 添加IdentityModel, 支持更新创建者、创建时间、修改人、修改时间等 #81 #103 #118
Data: 支持分布式锁#88 #131
Storage: 支持多Bucket#89, 添加 AddAliyunStorage 支持异步#123
Scheduler:添加调度器 Sdk #102 #107 #110 #142 #151
Dcc: 添加DCC Sdk#96 #161
Configuration.ConfigurationApi.Dcc: 扩展方法GetDefault,GetPublic #127 #138
Dispatcher: EventBus 支持自定义日志级别#134 #137
Mc: 添加Mc Sdk#112 #143 #163
EntityFramework: Support migration of local message table via IDesignTimeDbContextFactory#152
Tsc: 添加 tsc-sdk #125
重构
EntityFramework: 支持乐观并发#79, 重构MasaDbContextOptionsBuilde#122
IntegrationEvents.Dapr:重构DaprIntegrationEventBus #116 #150 #158
Autocomplete: 重构和优化用户体验#159
文档
Home: 修改首页文档 #87
Storage.Aliyun: 修复中文文档错误#87
Dispatcher: 添加Benchmark 数据#91#92
DistributedLock: 添加文档#95更新 IntegrationEvent 文档使用#132
Identity: 修改引用包文档错误#164
测试
Auth: 完善Auth单元测试#94
PM:修复单元测试#145
杂务
1.修改命名空间#82
2.更新Masa.Utils库版本 #90 #114 #133 #147 #154 #165
信息来源:Release 0.5.0 · masastack/MASA.Framework (github.com)
MASA Stack 产品谍照
1.登录页面
2.个人信息页面
3.全局导航
4.消息中心
5.渠道管理
6.配置中心
7.项目管理
社区近期问题解答
MASA Framework
Q1:MASA Framework在vs里安装项目的那几个模板是怎么安装上的?
A:dotnet new –install Masa.Template
Q2:目前Framework如何与前端I18n配合做多语言?
目前0.5.0版本的框架暂不支持多语言,我们计划在0.6.0增加多语言支持
Q3:DomainEvent、DomainCommand、DomainQuery有什么区别?
领域事件是DomainEvent,为了简化CQRS,就内置了DomainCommand、DomainQuery,它们是DomainEvent与Command、Query的组合
MASA Blazor
Q1:Blazor如何实现登录,类似MVC后台程序的效果?
参考:https://github.com/masalabs/MASA.Framework.Admin
Q2:MASA Blazor App、MASABlzaor Pro Web、MASA Blazor Website、MASA Framework Project区别是什么?
MASA Blazor App:使用了MASA Blazor的模板 MASABlzaor Pro Web: 使用了MASA Blazor Pro的样式 MASA Blazor Website:使用了文档站点的样式 MASA Framework Project:创建Framework项目
Q3:目前Tooltip组件写法太复杂,会影响代码的结构和阅读体验,能否可以优化一下,例如在 MButton上原生支持 Tooltip 属性。
开发组件库应该保持单一组件最小的功能,或者说单一职责,Tooltip现在的设计是可以包裹任何元素,无论该元素是行内元素还是块元素,从技术上来说Tooltip要知道目标元素,就需要给目标元素添加一个唯一的自定义属性,你可以通过查看html看到有个_activator_ 开头的属性。然后给该元素添加click和mouseenter事件来实现点击触发和Hover触发的效果。具体请移步https://github.com/BlazorComponent/MASA.Blazor/issues/595。
其他
Q1:Masa以后支持工作流吗?是免费的吗?
2.0会增加工作流支持,是免费的
开源地址
https://github.com/BlazorComponent/MASA.Blazor https://github.com/masastack/MASA.Framework
如果你对我们的开源项目感兴趣,无论是代码贡献、使用、提 Issue,欢迎联系我们
MASA Stack 第三期社区例会